﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
//using RaisingStudio.Xna.Graphics;

namespace GameBase
{
    public class Constant
    {
        public static void Init(ContentManager content, GraphicsDeviceManager graphics)
        {
            Constant.content = content;
            Constant.graphics = graphics;
            Constant.fontNormalBold = content.Load<SpriteFont>(@"Resources/fontNormalBold");
            Constant.fontSmallBold = content.Load<SpriteFont>(@"Resources/fontSmallBold");

            Constant.fontLarge = content.Load<SpriteFont>(@"Resources/fontLarge");
            Constant.fontNormal = content.Load<SpriteFont>(@"Resources/fontNormal");
            Constant.fontSmall = content.Load<SpriteFont>(@"Resources/fontSmall");
        }
        //public static DrawingContext drawingContext;
        public static ContentManager content;
        public static GraphicsDeviceManager graphics;
        public static Random random = new Random((int)(DateTime.Now.Ticks));

        public static SpriteFont fontNormal;
        public static SpriteFont fontSmall;
        public static SpriteFont fontLarge;

        public static SpriteFont fontNormalBold;
        public static SpriteFont fontSmallBold;

        public static int screenWidth;
        public static int screenHeight;
        public static bool isFullScreen;
        public static List<string> resolutions = new List<string>();
        public static List<string> difficults = new List<string>();

        public static int maxTeam;
        public static int hardLevel;
        public static float force;
        public static float decreaseForce;
        public static float maxForce;
        public static float timeForDisappear;
        public static float rangeRegenHealth;
        public static float regenTime;
        public static float volume;

        public static Color[] starColors = {   
                                       new Color(255,60,120),
                                       new Color(255,200,20),
                                       new Color(255,255,20),
                                       new Color(200,255,20),
                                       new Color(100,255,100),
                                       new Color(255,20,255),
                                       new Color(120,60,255),
                                       new Color(255,60,255),
                                       new Color(255,60,200),};
        public static Color[] landColors = {  Color.BurlyWood,Color.DarkGreen,
                                           Color.DarkOrange,Color.Red,Color.LawnGreen,
                                           Color.Purple,Color.ForestGreen};
        public static Color[] oceanColors = {Color.Navy,Color.Blue,
                                            Color.DarkCyan,Color.DarkBlue,Color.DarkMagenta,
                                            Color.DarkSeaGreen,Color.DarkViolet,Color.Indigo};
        public static Color[] atmosphereColors = {new Color(255,200,220),
                                       new Color(255,255,180),
                                       new Color(180,255,180),
                                       new Color(180,255,255),
                                       new Color(255,255,255),
                                       new Color(255,160,255),
                                       new Color(180,160,255),
                                       new Color(255,160,255),
                                       new Color(250,255,255),};
        public static Song backgroundMusic;
        public static List<SoundEffect> listGunSoundEffects = new List<SoundEffect>();
        public static List<SoundEffect> listSteppingSoundEffects = new List<SoundEffect>();

        public static float scrollSpeed = 10.0f;
        public static float zoomSpeed = 0.1f;
        public static float maxZoomRatio = 3.0f;
        public static float minZoomRatio = 0.3f;

        public static float sizeBlock = 80.0f;
        public static float scaleDetailPlanet = 10f;
        public static float scaleDistanceDetailPlanet = 15f;
        public static float scalePlanetEntity = Constant.sizeBlock / 200;

        public static Color[] teamColors = { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.HotPink, Color.Cyan, Color.Purple };
    }
}
